perm filename CRST[NEW,LCS] blob
sn#502548 filedate 1980-04-25 generic text, type C, neo UTF8
COMMENT ā VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 35 IF(R.NE.2)GO TO 36
C00005 ENDMK
Cā;
35 IF(R.NE.2)GO TO 36
IF(RS.EQ.7)GO TO 30
C SKIP ALL THIS IF NEW CENTERING (P9 NOW HAS POS.)
IF(RS.LT.6.)GO TO 30
RR=RIGHT(NA,-1,JK)
Q(JK+3)=RR-1.6*RSTJ2+(RIGHT(NA,1,JK)-RR)/2.
C FUNCTION 'RIGHT' FINDS ITEMS TO LFT AND RT OF REST FOR CENTERING.
C CENTERS WHOLE REST
GO TO 30
RIGHT: 0 ;FUNCTION RIGHT(NA,J,JK)
MOVE 4,@(16)
MOVE 6,4
MOVE 11,@1(16) ; SAVE J IN 11
ADD 4,11 ; K=NA+J J= +1 OR -1
SKIPLE 4 ; IF(K.GT.0)GO TO RT4
JRST RT4
MOVE 0,Q+3 ;RIGHT=Q(JK+3)
JRA 16,3(16) ;RETURN
RT4: MOVEI 5,Q ; Q R=Q(JK+2)
ADD 5,@2(16)
MOVE 12,2(5) ; RX=Q(JK+3)-2 CURRENT POS. OF REST-2
;;; FSBR 12,[2.0] ; NEEDED IF NOTHING FOUND TO LEFT.
MOVE 5,1(5) ;R THE STAFF NUM.
MOVEI 8,1 ;JX=1 FOR REVERSE LOOP
SKIPL @1(16) ;IF(J.GT.0)JX=I FORWARD LOOP
MOVE 8,LLL+2
RT1: JSA 16,CODEN ; DO 134 K=NA-1,1,-1
JUMP PX ; R8=CODEN(KPN,K,Q,LL)
JUMP 4
JUMP Q
JUMP 7 ;LL
CAMN 0,[4.0] ; IF(R8.EQ.4)GO TO 234
JRST RT2
MOVE 3,Q+1(7) ; IF(Q(LL+2).NE.R)GO TO 134
CAME 3,5
JRST RT3
CAME 0,[18.0] ; IF(R8.EQ.18.OR.R8.EQ.17)GO TO 234
CAMN 0,[17.0] ; JUMP ON KEY SIG OR METER
JRST RT2
;; CAML 0,[10.0] ; IF(R8.GE.10)GO TO 134
;; JRST RT3
;; CAME 0,[3.0] ; IF(R8.NE.3)GO TO 234
;; JRST RT2
RT3: CAMN 4,8 ;134 CONTINUE
JRST .+3
ADD 4,11
JRST RT1
SKIPG 11 ;SKIP NEXT IF GOING FORWARD IN LOOP (LOOKING TO RIGHT)
MOVE 0,12 ;USE ITS OWN POS.-2 IF NOTHING FOUND TO LEFT
SKIPA ; RR=RX
RT2: MOVE 0,Q+2(7) ; C NOW FOUND ITEM TO LEFT OR RT ON THIS STAFF.
JRA 16,3(16) ;234 RR=Q(LL+3)